import matplotlib.pyplot as plt
import numpy as np

# 设置中文字体，确保中文正常显示
plt.rcParams["font.family"] = ["SimHei", "WenQuanYi Micro Hei", "Heiti TC"]
plt.rcParams["axes.unicode_minus"] = False  # 解决负号显示问题



# 数据（生成两组不同的正态分布数据）
data1 = np.random.normal(0, 1, 1000)  # 均值0，标准差1
data2 = np.random.normal(3, 1.5, 1000)  # 均值3，标准差1.5

# 创建画布和子图
fig, ax = plt.subplots(figsize=(10, 6))

# 绘制直方图（两组数据叠加）
ax.hist(
    [data1, data2],
    bins=30,  # 柱子数量（越多越精细）
    alpha=0.7,
    label=['数据组1', '数据组2'],
    color=['#6495ED', '#FF6347'],
    edgecolor='black'
)

# 美化
ax.set_title("两组数据的分布对比", fontsize=15)
ax.set_xlabel("数值", fontsize=12)
ax.set_ylabel("频数", fontsize=12)
ax.legend()
ax.grid(axis='y', alpha=0.3)  # 只显示Y轴网格

plt.show()

fig.savefig("直方图.png", dpi=100)  # 保存图表（dpi控制清晰度）











